#include <bits/stdc++.h>

using namespace std;

int dp[100010],n,m,c[110];
int main()
{
    memset(dp,96,sizeof(dp));
    cin>>m;
    for(int i=1;i*i*i*i<=m;i++){
        c[i]=i*i*i*i;
        n=i;
    }
    dp[0] = 0;
    for(int i=1;i<=n;i++){
        for(int j=c[i];j<=m;j++){
            dp[j] = min(dp[j],dp[j-c[i]]+1);
        }
    }
    cout<<dp[m];
    return 0;
}
